Amazon GameLift In C# 01: アカウント作成とサンプルゲームの接続確認
概要
オンラインゲーム開発といえば、ゲームの面白さだけじゃなく、安定なネット通信を保障しなければならないです。以前、世界中各地域にゲームサーバーを配布することは、地域ごとに、サーバーサービス提供者と協議することが必要です。クラウドサービスの発展に伴って、いくつIT大手企業が、世界各地のサーバーサービスを統合し、一つプロバイダーからすべての地域にゲームサーバーを配布することができました。
自分が知る限り人気なゲームサーバーサービスは主にAmazon GameLift、Microsoft Playfab、Google Game Servers三つです。クラウドサービスについて詳しくない私は、どちの方が強いかという疑問もありますが、AWSはGameLift以外いろんなクラウドサービスも使われて、歴史も長くて、とりあえずAmazon GameLiftをやってみたいと思います。
Amazon GameLiftは公式的に対応される言語はC++とC#です。将来C++版(with UE4)のAmazon GameLiftブログも書くかもしれませんが、今回は初心者に対して勉強しやすいC#(with Unity)版で始めたいと思います。
本番で始まる前に、とりあえずAWSのアカウントを作って、Amazon GameLiftのサンプルゲームサーバーとクライアントの接続を確認します。
PCスペック
CPU : Intel i7-6920HQ
GPU : AMD Radeon Pro 460
MEMORY : 16GB
System : Windows 10
AWSアカウントの登録
Amazon GameLift Official Website 公式サイトリンク
まず上記のリンクで公式サイトを開きます。
リンクを開いたら、GameLiftの公式サイトに入り、右上のComplete Sign Up
ボタンを押し、次のページでCreate a new AWS Account
を押します。(既にAWSアカウントを持っている方はログインをお願いします)
そしてメールアドレスなどを記入し、指示通り進んで、個人情報やクレジットカード情報などを入力し、ログイン完了までしてください。クレジット情報を記入することに不安になるかもしれませんが、新しく登録する方はAmazon GameLiftから初年度無料枠をもらいます。お金とかかわる部分なので、スクリーンショットを一応英語の日本語両方とも貼って置きます。テストでお金を出したくなければ、使わない時間帯、必ずサーバーのFleetを消すか、インスタンス数を0にします。(以後説明します)
アカウント作成後、ログインし、サイトの左上のService
ボタンを押してから、スクロールダウンして、「Game Development」部分のAmazon GameLift
を押して、GameLiftのDashboardに入るはずです。(手順がちょっとずれてる場合もありますが、自らDashboardに入ってください)
そして、How to deploy a game with a custom game server
(カスタムゲームサーバーでゲームデプロイする方法)の部分を展開し、Try it Now!
を押したら、GameLiftのサンプルゲームゲーム紹介に入ります。
GameLiftサンプルゲームの接続確認
1.ゲームサーバーの名前を入力します(なんでもいいです)。Add Server
を押したらStep 1がチェックされて、ボタンの色が変わります。
2.次はCreate a fleet
を押します。Fleetが作られ、Step 2もチェックされます。ゲームサーバーが起動されましたが、100%準備完了までは20分以上かかるのは普通だそうです。待たずに先にStep 3に進んでも構わないです。
3.サンプルゲームのクライアント(本物のゲーム)をダウンロードし、ZIPファイルを展開します。使ったことないですが、サンプルゲームはAmazonのLumberyardというエンジンで作成された物です。
4."Fleet generated"100%準備完了になりましたら、さっき展開したクライアントにあるGameLiftSampleClient\Bin64.Release\MultiplayerProjectLauncher.exe
を実行し、しばらく待ってからToken入力画面に入ります。Step 4のGenerate Token
ボタンを押して、表示される文字をまるでクライアントのとこにコピーし、クライアントのConnect
ボタンを押します。接続できたら、ゲームに入ります。ゲームはWSAD Space
でロボットを操作できます。ちなみに、同時二つ以上クライアントを起動できるので、同じ手順で接続すれば、ロボットたちが同じシーンに会えます。
5.クライアントテストの問題がなければ、Dashboardに進みます。Dashboardでいろんな情報を確認できます。今回はサンプル起動確認でアカウントのGameLiftの動きを確かめるためなので、無駄にFleetをそのまま置いたら、無料枠が切れてしまうので(現時点は125時間)、使わないければ、一旦このFleetを削除してください。Fleetの削除は5分以上もかかります。
AWSのアカウント作成と事前GameLiftの動き確認はこれで完了です。このシリーズこれからのブログはテスト環境作成、.NETの通信紹介から、オンラインゲームの作成までという流れにしたいと思っております。